'use strict'

define(['jquery', 'bootstrap', 'datetimepicker', 'datetimepickerCN', 
        'validate', 'validate.en', 'shiftform', 
        'uploader', 'plupload', 'qiniu'], function($) {
  return {
      
    init: function() {
         
      this.initPage()
      
      
    },
   
    
    initPage: function() {
      
      var that = this
      
      $('.date').datetimepicker({
          format: 'yyyy-mm-dd',
          autoclose: true,
          language: 'zh-CN',
          todayBtn: 'linked',
          todayHighlight: true,
          pickerPosition: 'bottom-right',
          minView: 'month'
        })
        
        that.initUpload()
        
        $(document).find('form[data-validate="true"]').bt_validate()  //bind validate
            
            var $form = $(document).find("form")                          //bind shiftform
            $form.shiftform({
              beforeSubmit : function(el) {
                $form.trigger("validate.ajax.submit");
                return $.bt_validate.result[$.bt_validate.form_id]
              }
            })
        
    },
    
    initUpload: function() {
      var imgSrc = $(".upload-cover").find("img").attr("src");
        if(imgSrc == null || imgSrc == undefined) {
          $(".upload-cover").find("img").addClass("hide");
        }
        
        
        $(".upload-cover").hover(function(){
          $(".upload-cover .edit-btn").addClass("in");
        },function(){
          $(".upload-cover .edit-btn").removeClass("in");
        });
        
        $.ajax({
          
          url: window.__CTX__.cloudUptoken,
          // The name of the callback parameter, as specified by the YQL service
          jsonp: "callback",
          // Tell jQuery we're expecting JSONP
          dataType: "jsonp",
          // Work with the response
          success: function( response ) {
            var uploaderCover = Qiniu.uploader({
              runtimes: 'html5,flash,html4',
              browse_button: 'pickCover',
              uptoken: response.token,
              domain: 'http://upload.qiniu.com/',
              max_file_size: '4mb',
              max_retries: 3,
              chunk_size: '2mb',
              save_key: true,
              auto_start: true,
              init: {
                'UploadProgress': function(up, file) {
                  $('#messageCover').removeClass("hide");
                  $(".edit-btn").addClass("hide").prop("disabled", true);
                  $('#messageCover').html("正在上传图片，请稍后");
                  $('#submitBtn').attr("disabled", "disabled");
                },
                'FileUploaded': function(up, file, info) {
                  var res = $.parseJSON(info);
                  var cover_box = '';
                  $('#coverPreview').attr("src", window.__CTX__.cloudProd + "/" + res.key + "-0.6");
                  $('#coverPreviewList').css("display", "block");
                  $('#cover').val(res.key);
                  $('#messageCover').html("加载图片完成");
                  setTimeout(function() {
                    $('#messageCover').addClass("hide");
                    $(".edit-btn").addClass("fade").removeClass("hide").prop("disabled", false).html("<span class='glyphicon glyphicon-repeat' aria-hidden='true'></span>&nbsp;&nbsp;重新上传");
                  }, 2000);
                  $('#submitBtn').removeAttr('disabled');
                },
                'Error': function(up, err, errTip) {
                  $('#messageCover').html("图片上传异常，请稍后重试");
                }
              }
            });
          }
        });
    }
    
  }
  
})
